#include "IObject.h"
#include "IMessage.h"
#include "IMessageManager.h"
#include "ILogManager.h"
#include "IServerManager.h"
#include "IPacketManager.h"
#include "IClientManager.h"
#include "IUDPConnectManager.h"
#include "IModuleMessageManager.h"



CServerObject::CServerObject() 
{ 
	m_pIMessageManager      = NULL;
	m_pLogManager           = NULL;
	m_pConnectManager       = NULL;
	m_pPacketManager        = NULL;
	m_pClientManager        = NULL;
	m_pUDPConnectManager    = NULL;
	m_pModuleMessageManager = NULL;
	m_pTimerManager			= NULL;
	m_pExDataManager		= NULL;
}

CServerObject::~CServerObject() {}
void CServerObject::SetMessageManager(IMessageManager* pIMessageManager) 
{ 
	m_pIMessageManager = pIMessageManager;

}
void CServerObject::SetLogManager(ILogManager* pLogManager) 
{ 
	m_pLogManager = pLogManager; 
}
void CServerObject::SetConnectManager(IServerManager* pConnectManager) 
{
	m_pConnectManager = pConnectManager;
}
void CServerObject::SetPacketManager(IPacketManager*  pPacketManager) 
{ 
	m_pPacketManager = pPacketManager;
}
void CServerObject::SetClientManager(IClientManager* pClientManager) 
{ 
	m_pClientManager = pClientManager;
}
void CServerObject::SetUDPConnectManager(IUDPConnectManager* pUDPConnectManager) 
{ 
	m_pUDPConnectManager = pUDPConnectManager; 
}
void CServerObject::SetTimerManager(ActiveTimer* pTimerManager)
{ 
	m_pTimerManager = pTimerManager; 
}
void CServerObject::SetModuleMessageManager(IModuleMessageManager* pModuleMessageManager)
{ 
	m_pModuleMessageManager = pModuleMessageManager;
}

void CServerObject::SetExDataManager(IExDataManager* pExDataManager)
{ 
	m_pExDataManager = pExDataManager;
}

IMessageManager*       CServerObject::GetMessageManager() { return m_pIMessageManager; }
ILogManager*           CServerObject::GetLogManager() { return m_pLogManager; }
IServerManager*       CServerObject::GetConnectManager() { return m_pConnectManager; }
IPacketManager*        CServerObject::GetPacketManager() { return m_pPacketManager; }
IClientManager*        CServerObject::GetClientManager() { return m_pClientManager; }
IUDPConnectManager*    CServerObject::GetUDPConnectManager() { return m_pUDPConnectManager; }
ActiveTimer*           CServerObject::GetTimerManager() { return m_pTimerManager; }
IModuleMessageManager* CServerObject::GetModuleMessageManager() { return m_pModuleMessageManager; }
IExDataManager* CServerObject::GetExDataManager() { return m_pExDataManager; }
